Computer application programs are software, consisting of instructions and data, that run on processing systems such as computers. The processing systems may execute the instructions in the computer application program using the data contained therein and/or other data received from other sources (e.g., user input, other computer application programs, etc.). Occasionally a computer application program may encounter an error during processing. The error may be a flaw, mistake, failure, or fault in the computer application program that produces an incorrect or unexpected result, or causes the program to behave in unintended ways. In general, the error may arise from mistakes made by software developers in either a program's source code or its design. In addition, some errors may be caused by compilers producing incorrect code.
Generally, most computer application programs cannot handle an error or other non-expected process or data flow. Some errors may have only a subtle effect on the functionality of the computer application program and may be undetected for a long period of time. Other, more serious, errors may cause the computer application program to crash or freeze, partially or completely interrupting the functionality. These, or other errors, may be used to exploit the system, such as by allowing a malicious user or program unauthorized access. In general, testing how a computer application program will respond to the occurrence of such an error is a difficult and time consuming process. Testing may require access to the source of the computer application program, which a third party may or may not have, and may require that the program be recompiled.